frangando.free.fr


Choisir le type de redirection


Il existe plusieurs cas pour lesquels des redirections doivent être utilisées (renommage d'un fichier, changement d'adresse du site, d'un lien...).
Du point de vue du référencement, parmi toutes les méthodes de redirection, certaines sont plus recommandées que d'autres, comme nous l'expliquons ci-dessous.
Du point de vue de l'internaute, c'est en général plus simple car il suffit de trouver un moyen d'afficher la page redirigée : il ne sera pas sensible au type de redirection.

Utilité d'une bonne redirection

En effet, pour que les robots des moteurs de recherche interprètent correctement la redirection, il faut que l'entete HTTP envoyé avec la page corresponde au statut de la page.
Par exemple, si une page a changé d'emplacement dans votre site, il faut que l'ancienne URL fasse une redirection vers la nouvelle en utilisant un entete HTTP qui précise que cette page a changé définitivement d'adresse (code 301).
Cela permettra au robot de ne plus venir indexer l'ancienne URL, et de mettre à jour sa base de données en affectant la nouvelle URL à la page.

Si vous ne mettez pas de redirection depuis l'ancienne URL, le robot obtiendra une erreur 404 et ne sera pas forcément au courant de la nouvelle adresse.

Les différentes formes de redirection

Voici un résumé des techniques de redirection les plus courantes :

Redirection d'erreur avec .htaccess

C'est un type de redirection un peu particulier car il ne concerne que le traitement des erreurs. Il est placé généralement à la racine du site.
Les règles sont écrites dans un fichier spécial appelé .htaccess . Ce fichier est normalement pris en compte par les serveurs Apache.
Il est à noter que htaccess n'est pas une extension (comme doc, txt ou html) mais que .htaccess est son nom complet. Le point initial vient du monde Unix.
Globalement un fichier .htaccess de gestion des erreurs ressemble à ceci;

ErrorDocument 401 http://www.lesite.ici/lapage.html
ErrorDocument 404 /erreur/404.php

Dans ce cas, si une erreur de type 401 se produit la redirection vers l'adresse définie sera faite, mais il ne faut pas oublier que cette méthode de gestion des erreurs est locale et renvoie un "Header" de page avec une erreur 401.
Pour le référencement, en l'état, ce n'est pas utilisable.

Redirection directement sur le serveur

Une configuration du serveur donne les règles de redirection. Il faut donc aller voir la documentation du serveur (Apache, IIS, etc.) et surtout avoir accès à ses fichiers de configuration.

Il n'y a aucun problème pour le référencement.
Vérifier tout de même l'entête HTTP renvoyé par la page.

Redirection par URL Rewriting

La règle de redirection est indiquée dans un fichier .htaccess avec par exemple RedirectPermanent ou RewriteRule (dans ce cas il faut utiliser le code 301).

Exemples : dans le fichier .htaccess situé à la racine du site :

RedirectPermanent /robotstats http://www.robotstats.com/

ou bien :

RewriteRule ^article-([0-9]*).php archives-$1.htm [R=301]

Pour le référencement : fonctionne très bien avec tous les moteurs.

Parfois certains hebergeurs gratuits n'autorisent pas le "RewriteRule" ou le "RedirectPermanent".
Même si ça peut être gênant, grâce à la puissance de PHP ou de ASP on peut faire du "Pseudo-Rewriting" en utilisant un script associé à une redirection d'erreur 404 (.htaccess).

Redirection dans un script serveur (PHP, ASP, etc.)

La redirection est définie par une fonction chargée de renvoyer un entête HTTP. Il faut bien sûr bien choisir le code de retour HTTP.

Exemple : utilisation de la fonction header() en PHP:

header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.votresite.com/unepage.htm");
exit();

Remarque:
les deux derniers paramètres de la fonction header sur la 1ère ligne de code ne sont pas toujours nécessaires. Mais sur certains serveurs, le code ci-dessous provoque une redirection 302 (document déplacé de façon temporaire) au lieu d'une redirection 301 (document déplacé de façon permanente) :

header("Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
exit();

Exemple : utilisation de la fonction addheader en ASP :

<%
response.status = "301 moved permanently"
response.addheader "location","http://www.votre-site.com/"
response.end
%>

Il n'y a aucun problème pour le référencement.

Redirection par balise META Refresh

La redirection est définie par la balise META http-equiv="Refresh". Elle donne l'ordre au navigateur de rediriger l'internaute vers une URL spécifiée au bout d'un certain nombre de secondes.

Exemple (redirection vers la page "page2.html" au bout de 5 secondes :

<meta http-equiv="Refresh" content="5;URL=page2.html">

Il ne faut pas utiliser cette mé pour le référencement. Elle renvoie un code 201 ( En effet, cette balise a trop souvent été utilisée en fixant le nombre de secondes à zéro, en général pour faire une page satellite.

Redirection JavaScript (ou tout autre langage côté client)

La redirection est définie par une fonction JavaScript qui modifie l'URL de la page à afficher, sans modifier l'entete HTTP de la page.

Exemple :

<script language="javascript" type="text/javascript">
<!--
window.location.replace("http://www.un-site.com/une-page.htm");
-->
</script>


Il ne faut pas utiliser cette méthode pour le référencement  : les robots ignorent le JavaScript, ils ne suivront donc pas une redirection Javascript.
Dans le même esprit, le succès ou l'échec de cette méthode de redirection dépend de la prise en charge ou non du script par le client.


Bonne redirection.

© 2006-2008  frangando.free.fr

Valid XHTML 1.0! Valid CSS!